void main() {
  /**
   * Dart数据类型- 其他
   * 1. Runes (符文)
   *   1. Runes是一个32位的整数，用于表示一个Unicode字符
   *   2. print('\u{1f605}')
   * 2. Symbols (符号)
   *   1. 在Dart中符号用#开头来标识标识符
   * 3. dynameic 动态类型
   *   1. 在Dart中，所有的类型都是动态类型
   */
  // 获取字符串的length
  var str = '👍';
  print(str.length); // utf-16 字符集
  print(str.runes.length); // utf-32 字符集

  // 使用Runes创建字符串
  Runes runesStr = new Runes('\u{1f605}');
  print(new String.fromCharCodes(runesStr)); // 转换为表情

  // 使用Symbols创建标识符
  var symbol = #hello;
  var symbol1 = new Symbol('hello');
  print(symbol == symbol1);

  // 动态类型
  dynamic dynamicStr = 'hello';
  dynamicStr = 123;
  print(dynamicStr);
}
